Traffic Engineering (TE) is a technology that is concerned with performance optimization of operational networks. In general, Traffic Engineering includes a set of applications mechanisms, tools, and scientific principles that allow for measuring, modeling, characterizing and control of user data traffic in order to achieve specific performance objectives.
Multiprotocol label switching (MPLS) is a scheme in a high-performance telecommunication network which directs and carries data from one node to the next node in the network. In MPLS, labels are assigned to data packets. Packet forwarding decisions from one node to the next node in the network are made based on the contents of the label for each data packet, without the need to examine the data packet itself.
Generalized Multiprotocol Label Switching (GMPLS) is a type of protocol which extends multiprotocol label switching to encompass network schemes based upon time-division multiplexing (e.g. SONET/SDH, PDH, G.709), wavelength multiplexing, and spatial switching (e.g. incoming port or fiber to outgoing port or fiber). Multiplexing, such as time-division multiplexing is when two or more signals or bit streams are transferred over a common channel. In particular, time-division multiplexing (TDM) is a type of digital multiplexing in which two or more signals or bit streams are transferred as sub-channels in one communication channel, but are physically taking turns on the communication channel. The time domain is divided into several recurrent timeslots of fixed length, one for each sub-channel. After the last sub-channel, the cycle starts over again. Time-division multiplexing is commonly used for circuit mode communication with a fixed number of channels and constant bandwidth per channel. Time-division multiplexing differs from statistical multiplexing, such as packet switching, in that the timeslots are returned in a fixed order and preallocated to the channels, rather than scheduled on a packet by packet basis.
Bandwidth is the data transfer capacity of a link or connection, which may be expressed in optical data units, bits per second, number of time slots, or expressed by other methods.
Generalized Multiprotocol Label Switching includes multiple types of optical channel data unit label switched paths including protection and recovery mechanisms which specifies predefined (1) working connections within a shared mesh network having multiple nodes and communication links for transmitting data between a headend node and a tailend node; and (2) protecting connections specifying a different group of nodes and/or communication links for transmitting data between the headend node to the tailend node in the event that one or more of the working connections fail. A first node of a path is referred to as a headend node. A last node of a path is referred to as a tailend node. Data is initially transmitted over the optical channel data unit label switched path, referred to as the working connection, and then, when a working connection fails, the headend node or tailend node activates one of the protecting connections for redirecting data within the shared mesh network.
The protecting connections may be defined as high-priority protecting connections or low-priority protecting connections. The headend node directs data to the working connection and may also have a high-priority protecting connection and a low-priority protecting connection. The headend node may create high-priority protecting connections and/or low-priority protecting connections in an effort to protect a particular working connection. For a particular headend node-tailend node pair, a set of intermediate nodes and/or communication links that is designated for high-priority protecting connections is preferably a complement of the set of intermediate nodes and/or communication links designated for the working connection. This means that none of the intermediate nodes and/or communication links in a set designated for high-priority protecting connection is shared with the working connection the high-priority protecting connection protects. This increases the likelihood that a high-priority protecting connection will not fail at the same time as the working connection the high-priority protecting connection is protecting.
In contrast, a set of intermediate nodes and/or communication links that are designated for low-priority protecting connections may be shared with the working connection, or low-priority protecting connections, as long as the set of intermediate nodes and/or communication links designated for a low-priority protecting connection is not identical to the set of intermediate nodes and/or communication links designated for the working connection the low-priority protecting connection is protecting.
In addition, a low-priority protecting connection may be preempted by a high-priority protecting connection. For example, in some configurations, a high-priority connection is always allocated bandwidth while a low-priority protecting connection is only allocated bandwidth if the bandwidth is not needed by a high-priority connection.
Two current methodologies for bandwidth reservation and management detailing constraints and availability for MPLS DiffServ-Aware Traffic Engineering (DS-TE) are the Maximum Allocation Model (MAM) and the Russian Doll Model (RDM). Bandwidth constraints (BC) define the rules that a node uses to allocate bandwidth to different Class Types.
In the MAM method, each Class Type (CT) has a designated allocated bandwidth which is not shared with any other CT. There is a one-to-one relationship between the CTs and the BCs. A CT cannot make use of the bandwidth left unused by another CT. Further, preemption is not required to provide bandwidth guarantees per CT. For example, the MAM methodology may divide the total bandwidth for a link into 30% for working connections and 70% for protecting connections. Within the bandwidth allocated for working connections, 70% may be allocated for a first Class Type (CT0) and 30% may be allocated for a second Class Type (CT1), with no sharing among the CTs, even of unused bandwidth. The MAM method is more fully described in reference RFC4125.
The RDM method allows a maximum number of bandwidth constraints equal to the maximum number of types of Class Type (CT). Take for example, a situation with three Class Types—CT0, CT1, and CT2—where CT0 has the lowest priority, CT1 more, and CT2 the most, and where the bandwidth constraints are 100% (CT2+CT1+CT0), 70% (CT2+CT1), and 30% (CT2). In this example, using the RDM model, the CT0 could use 100% of the bandwidth capacity if no CT1 or CT2 traffic were present on that link. If CT1 traffic is present, CT1 would be able to occupy 70% and CT0 would be reduced to 30%. If CT2 traffic were also present, then CT2 traffic would be able to use 30% by itself, CT1 traffic would be reduced to 40% of the link bandwidth, and CT0 traffic would remain at 30% of the link bandwidth. In the RDM method, high priority traffic always is allocated its designated portion of the bandwidth and low priority traffic is left with the remaining bandwidth in its allocation. The RDM model is more fully described in reference RFC4127.
However, the methodologies for bandwidth allocation are lacking in several aspects. The prior art models currently give a choice of complete segregation of CTs without sharing resources, as in the MAM method, or of complete preemption where a high priority CT always is allocated bandwidth, as in the RDM method. These methods limit effective Traffic Engineering by under-utilizing bandwidth resources, especially by under-utilizing resources available for protecting connections because of a low probability that any particular protecting connection will be activated.
Another limitation of the current models is the current method of bandwidth availability advertising, in which the nodes advertise only the cumulative unreserved bandwidth for a CT. Therefore, low-priority protecting connections are advertised as reserving bandwidth, when there is a low probability that the bandwidth will actually be used.